Skip to content

feat(config): implement conventional commits and optimize trunk#8

Merged
Thomo1318 merged 1 commit intomainfrom
feat/v3.0-conventional
Jan 1, 2026
Merged

feat(config): implement conventional commits and optimize trunk#8
Thomo1318 merged 1 commit intomainfrom
feat/v3.0-conventional

Conversation

@Thomo1318
Copy link
Owner

@Thomo1318 Thomo1318 commented Jan 1, 2026

PR Type

Enhancement, Documentation


Description

  • Implement Conventional Commits with commitlint validation and git-semver versioning

  • Reorganize documentation into centralized docs/ structure with guides and references

  • Enhance Trunk linting configuration with ruff, codespell, and trivy tools

  • Add semantic versioning aliases (semver, next-patch, next-minor, next-major)

  • Simplify root README.md with navigation hub pointing to sub-documentation


Diagram Walkthrough

flowchart LR
  A["Conventional Commits"] -->|"commitlint validation"| B["Commit Validation"]
  A -->|"git-semver integration"| C["Semantic Versioning"]
  D["Documentation Overhaul"] -->|"centralize docs/"| E["Guides & References"]
  E -->|"setup, usage, contributing"| F["User Navigation"]
  G["Trunk Configuration"] -->|"add ruff, codespell, trivy"| H["Enhanced Linting"]
  C -->|"version aliases"| I["Release Automation"]
Loading

File Walkthrough

Relevant files
Configuration changes
2 files
commitlint.config.js
Add commitlint configuration for conventional commits       
+3/-0     
trunk.yaml
Add ruff, codespell, trivy linters and disable shellcheck autofix
+5/-1     
Enhancement
1 files
config.toml
Add commit template and semantic versioning aliases           
+85/-10 
Documentation
8 files
README.md
Restructure as navigation hub with documentation links     
+33/-287
TASKS.md
Mark documentation and conventional commits tasks complete
+10/-9   
VERSION_HISTORY.md
Add v1.2.1-docs and v3.0.0-conventional release notes       
+24/-0   
publish-change.md
Update release tag creation with git-semver automation     
+9/-2     
contributing.md
Add conventional commits format and improve link references
+26/-8   
setup.md
Update navigation links to new documentation structure     
+10/-2   
usage.md
Create comprehensive user guide with workflows and integrations
+156/-0 
audit-log.md
Add documentation audit findings and improvement recommendations
+68/-0   
Additional files
3 files
gh-cli-analysis.md [link]   
gh-cli-integration.md [link]   
aliases.md [link]   

Summary by CodeRabbit

Release Notes

  • New Features

    • Automated semantic versioning for releases using git-semver integration
    • New documentation guides for Setup, Usage, and Contributing workflows
  • Chores

    • Restructured documentation with centralised guides and improved navigation hub
    • Enhanced code quality tools with additional linters (codespell, ruff, trivy)
    • Implemented conventional commit configuration for improved commit message consistency

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 1, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This pull request restructures project documentation with a centralised docs/ folder, automates release workflows using semantic versioning, integrates conventional commits tooling via commitlint, expands Trunk linting capabilities with codespell, ruff, and trivy, and updates task status records and version history.

Changes

Cohort / File(s) Summary
Documentation Restructure
README.md
Major reorganisation: replaces flat layout with modular docs-based structure, updates navigation to Documentation section, localises references to docs/guides/, adds Security feature, removes installation/usage examples in favour of external docs links
New Contributor & Setup Guides
docs/guides/contributing.md, docs/guides/setup.md, docs/guides/usage.md
Updated link formatting to use Markdown hyperlinks with repository-relative paths; new usage guide covers workflows, integrations (GitMCP, Repomix), versioning, and troubleshooting
Automation & Release Workflow
.agent/workflows/publish-change.md, commitlint.config.js
Replaces fixed v1.0.0 release tag with automated dry-run versioning using jj next-minor; introduces commitlint configuration extending conventional-commits ruleset
Configuration Enhancements
config.toml
Adds draft_commit_description template; converts command definitions to array format (repomix-*, security-*); introduces new versioning commands: semver, next-patch, next-minor, next-major using git-semver
Linting & Tooling
.trunk/trunk.yaml
Adds three new linters to enabled list: codespell@2.2.6, ruff@0.1.6, trivy@0.48.1; restructures shellcheck@0.11.0 entry with autofix: false
Project Metadata & Planning
TASKS.md, backups/VERSION_HISTORY.md, docs/architecture/audit-log.md
Updates task statuses (TASK 2, 3 → Completed); adds version entries v1.2.1-docs and v3.0.0-conventional; introduces documentation audit and improvement plan identifying fragmentation and proposing three-phase consolidation strategy

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

Review effort 3/5

Poem

🐰 Hop through the docs with glee so bright,
From scattered files to structure right,
Conventional commits now guide the way,
Automation blooms—release per day!
With linters keen and guides renewed,
This rabbit's work is rather shrewd! ✨

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 66637f9 and 57a4941.

📒 Files selected for processing (14)
  • .agent/workflows/publish-change.md
  • .trunk/trunk.yaml
  • README.md
  • TASKS.md
  • backups/VERSION_HISTORY.md
  • commitlint.config.js
  • config.toml
  • docs/architecture/audit-log.md
  • docs/architecture/gh-cli-analysis.md
  • docs/architecture/gh-cli-integration.md
  • docs/guides/contributing.md
  • docs/guides/setup.md
  • docs/guides/usage.md
  • docs/reference/aliases.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Thomo1318 Thomo1318 merged commit e7d7f17 into main Jan 1, 2026
4 of 5 checks passed
@qodo-code-review
Copy link

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
Arbitrary command execution

Description: The newly added jj aliases execute bash -c and directly run local repo hook files (e.g.,
.git/hooks/post-commit-repomix), which can enable arbitrary command execution if a user
runs these commands inside an untrusted/cloned repository whose hooks or referenced
scripts have been modified maliciously.
config.toml [356-503]

Referred Code
repomix-generate = [
  "util",
  "exec",
  "--",
  "bash",
  "-c",
  '''
if command -v repomix &> /dev/null; then
    .git/hooks/post-commit-repomix
    echo "✓ Repomix file generated"
else
    echo "⚠️  repomix not installed. Install with: npm install -g repomix"
fi
'''
]
# View latest repomix file
repomix-view = [
  "util",
  "exec",
  "--",
  "bash",


 ... (clipped 127 lines)
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Remove duplicated documentation section

Remove the duplicated "Versioning (Automated)" section from the documentation.

docs/guides/usage.md [101-150]

-## 🏷️ Versioning (Automated)
-
-We use `git-semver` to automatically calculate the next version based on Conventional Commits and tags.
-
-### Aliases
-
-| Command         | Description             | Example Output |
-| :-------------- | :---------------------- | :------------- |
-| `jj semver`     | Show current version    | `v1.2.0`       |
-| `jj next-patch` | Show next patch version | `v1.2.1`       |
-| `jj next-minor` | Show next minor version | `v1.3.0`       |
-| `jj next-major` | Show next major version | `v2.0.0`       |
-
-### Release Workflow
-
-```bash
-# create a release with the correct version
-gh release create $(jj next-minor) --generate-notes
-```
-
----
-
 ## 🏷️ Versioning (Automated)
 
 We use `git-semver` to automatically calculate the next version based on Conventional Commits and tags.
 
 ### Composing Commits
 
 When you run `jj describe`, `jjConfig` provides a strict template to help you follow [Conventional Commits](https://www.conventionalcommits.org/):
 

():

Types: feat, fix, docs, style, refactor, perf, test, chore


### Aliases

| Command         | Description             | Example Output |
| :-------------- | :---------------------- | :------------- |
| `jj semver`     | Show current version    | `v1.2.0`       |
| `jj next-patch` | Show next patch version | `v1.2.1`       |
| `jj next-minor` | Show next minor version | `v1.3.0`       |
| `jj next-major` | Show next major version | `v2.0.0`       |

### Release Workflow

```bash
# create a release with the correct version
gh release create $(jj next-minor) --generate-notes


- [ ] **Apply / Chat** <!-- /improve --apply_suggestion=0 -->


<details><summary>Suggestion importance[1-10]: 7</summary>

__

Why: The suggestion correctly identifies a significant duplication error in the documentation and proposes the correct fix, which greatly improves the clarity and readability of the user guide.

</details></details></td><td align=center>Medium

</td></tr><tr><td>



<details><summary>Fix step numbering</summary>

___

**Correct the step number from <code>8.</code> to <code>7.</code> in the release workflow documentation.**

[.agent/workflows/publish-change.md [51]](https://github.com/Thomo1318/jjConfig/pull/8/files#diff-1bf49552a71680c902596d52f9aed194b2c55002ab3fcc242188a490021b68cdR51-R51)

```diff
-8. Create a release tag (Automated)
+7. Create a release tag (Automated)
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies an incorrect step number in the workflow documentation and provides the right fix, improving the document's clarity and correctness.

Low
Avoid redundant command execution

Store the output of jj next-minor in a variable to avoid executing the command
twice.

.agent/workflows/publish-change.md [54-58]

-# Dry run to check version
-jj next-minor
+# Check version and store it in a variable
+NEXT_VERSION=$(jj next-minor)
+echo "Next version will be: $NEXT_VERSION"
 
 # Create release
-gh release create $(jj next-minor) --generate-notes
+gh release create "$NEXT_VERSION" --generate-notes
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly identifies a redundant command execution and proposes a more robust and efficient solution by using a variable, which is a good practice for shell scripting.

Low
  • More

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant